package com.itheima.tlias84.service;

import com.itheima.tlias84.dto.SelectAllDeptDTO;
import com.itheima.tlias84.entity.Dept;
import com.itheima.tlias84.po.InsertDeptParam;
import com.itheima.tlias84.utils.ResultUtil;

import java.util.List;

public interface DeptService {
    //相同的方法名

    /**
     * 查询所有的部门
     * @return 部门列表
     */
    List<SelectAllDeptDTO> selectAll();

    /**
     * 插入部门
     * @param param 插入部门参数
     * @return 成功行数
     */
    int insertDept(InsertDeptParam param);

    /**
     * 根据id删除部门
     * @param id 部门id
     * @return 影响行数
     */
    int deleteById(Integer id);

    /**
     * 根据id查询部门
     * @param id id
     * @return 查询部门结果
     */
    SelectAllDeptDTO selectDeptById(Integer id);


    /**
     * 根据id修改部门
     * //@param id id
     * //@param name 部门新名称
     *
     * @return 修改行数
     */
    ResultUtil updateDeptById(Dept dept);

    /**
     * 批量删除部门根据id
     * @param ids id列表
     * @return 删除数量
     */
    int batchDelete(List<Integer> ids);

    /**
     * 批量插入部门
     * @param list 部门列表
     * @return 插入数量
     */
    int insertDeptBatch(List<Dept> list);
}
